Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

330
Visualizações
¿Cómo autorizar la solicitud de pago de Amazon para "obtener sesión de pago"?

He intentado integrar Amazon Pay como método de pago para los clientes en mi sitio web, pero tengo problemas con algunos de los detalles en la documentación. Espero comprender mejor los encabezados de solicitud que se asociarán con una llamada a la API de pago de Amazon.

Estoy haciendo una solicitud a 'https://pay-api.amazon.com/v2/checkoutSessions/checkoutSessionId' y recibo un error de política de CORS.

El acceso para buscar en 'https://pay-api.amazon.com/v2/checkoutSessions/d9b4418d-0c6f-4085-8c37-08bef6da6807' desde el origen 'http://localhost:3000' ha sido bloqueado por la política CORS: Respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: No hay un encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. Si una respuesta opaca satisface sus necesidades, establezca el modo de la solicitud en 'no-cors' para obtener el recurso con CORS deshabilitado.

Aquí está la solicitud de recuperación donde estoy tratando de hacer la solicitud

 fetch(`https://pay-api.amazon.com/v2/checkoutSessions/${this.$route.query.amazonCheckoutSessionId}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'authorization': 'Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE', 'x-amz-pay-date': `${new Date()}` } })

this.$route.query.amazonCheckoutSessionId hace referencia a la extensión de URL devuelta después de que el usuario crea una sesión de pago con el botón de pago de Amazon.

La documentación describe que una solicitud debe hacerse de la siguiente manera

 curl "https://pay-api.amazon.com/:version/checkoutSessions/:checkoutSessionId" -X GET -H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE" -H "x-amz-pay-date:20201012T235046Z"

¿Puede alguien explicarme dónde se supone que debo obtener la cadena de autorización y su formato? Además, ¿hay alguna manera de formatear fácilmente una cadena de fecha en el formato que se muestra en la documentación? ¿O no importa el formato de cadena de fecha?

He buscado bastante a través de las publicaciones de desbordamiento de pila asociadas con el pago de Amazon (de las cuales hay pocas), así como también busqué en otra documentación de Amazon y AWS para obtener detalles sobre cómo formatear la cadena de autenticación. Desafortunadamente, parece que no puedo encontrar una respuesta. También intenté pasar la firma de mi botón como mi cadena de autorización, pero eso no pareció ayudar.

Gracias por cualquier ayuda que pueda brindar.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Hay dos partes en su problema:

  1. La API no está diseñada para escuchar las solicitudes del navegador JS (AJAX) como en su ejemplo. La restricción CORS existe para evitar esto. Más bien, esta parte del proceso debe realizarse en el lado del servidor.
  2. Para usar la API, recomiendo enfáticamente usar uno de los SDK ( https://pay.amazon.co.uk/help/201212390?ld=APUKLPADirect ). Notará en los documentos ( https://developer.amazon.com/docs/amazon-pay-checkout/add-the-amazon-pay-button.html ), que siempre tienen ejemplos de código para los cuatro SDK ofrecidos . Así que es mucho más fácil seguir esas instrucciones. ingrese la descripción de la imagen aquí
over 4 years ago · Santiago Trujillo Relatório

0

Las API de Amazon Pay no admiten solicitudes directas del lado del cliente, por lo que deberá realizar esas solicitudes del lado del servidor. Es por eso que está viendo un error CORS.

Puede encontrar un recorrido detallado sobre la generación de firmas requerida para firmar cada una de las solicitudes de API aquí: https://developer.amazon.com/docs/amazon-pay-api-v2/signing-requests.html

Debería poder aprovechar el SDK de Amazon Pay Node.js, que ahorrará bastante codificación: https://developer.amazon.com/docs/amazon-pay-checkout/get-set-up-for-integration .html#nodejstab

También recomendaría usar el bloc de notas del desarrollador como una forma de verificar la cordura de su trabajo y obtener consejos sobre el código requerido, ya que hará solicitudes por usted y generará fragmentos de código. https://pay-api.amazon.com/tools/scratchpad/index.html

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda